home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITGroup.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-02-13  |  3.5 KB  |  127 lines

  1. //
  2. //                    CITGroup include
  3. //
  4. //                        StormC
  5. //
  6. //                   version 2003.02.13
  7. //
  8.  
  9. #ifndef CITGROUP_H
  10. #define CITGROUP_H TRUE
  11.  
  12. #include "CITContainer.h"
  13.  
  14. //
  15. // This enum for internal use only
  16. //
  17. enum
  18. {
  19.   CITGROUP_FIXEDHORIZ,
  20.   CITGROUP_FIXEDVERT,
  21.   CITGROUP_HORIZALIGNMENT,
  22.   CITGROUP_VERTALIGNMENT,
  23.   CITGROUP_SHRINKWRAP,
  24.   CITGROUP_EVENSIZE,
  25.   CITGROUP_SPACEINNER,
  26.   CITGROUP_SPACEOUTER,
  27.   CITGROUP_INNERSPACING,
  28.   CITGROUP_TOPSPACING,
  29.   CITGROUP_BOTTOMSPACING,
  30.   CITGROUP_LEFTSPACING,
  31.   CITGROUP_RIGHTSPACING,
  32.   CITGROUP_BEVELSTYLE,
  33.   CITGROUP_BEVELSTATE,
  34.   CITGROUP_BEVELLABEL,
  35.   CITGROUP_BEVELLABELPLACE,
  36.   CITGROUP_TEXTPEN,
  37.   CITGROUP_FILLPEN,
  38.   CITGROUP_FILLPATTERN,
  39.   CITGROUP_LABELCOLUMN,
  40.   CITGROUP_LABELWIDTH,
  41.   CITGROUP_ORIENTATION,
  42.   CITGROUP_DEFERLAYOUT,
  43.   CITGROUP_LAST
  44. };
  45.  
  46. class CITGroup:public CITContainer
  47. {
  48.   public:
  49.     CITGroup();
  50.     ~CITGroup();
  51.  
  52.     void InsObject(CITWindowClass &winClass,BOOL &Err);
  53.  
  54.     void Orientation(ULONG o)
  55.       { gOrientation = o;}
  56.     void FixedHoriz(BOOL b = TRUE)
  57.       {setTag(CITGROUP_FIXEDHORIZ,LAYOUT_FixedHoriz,b);}
  58.     void FixedVert(BOOL b = TRUE)
  59.       {setTag(CITGROUP_FIXEDVERT,LAYOUT_FixedVert,b);}
  60.     void HorizAlignment(ULONG align)
  61.       {setTag(CITGROUP_HORIZALIGNMENT,LAYOUT_HorizAlignment,align);}
  62.     void VertAlignment(ULONG align)
  63.       {setTag(CITGROUP_VERTALIGNMENT,LAYOUT_VertAlignment,align);}
  64.     void ShrinkWrap(BOOL b = TRUE)
  65.       {setTag(CITGROUP_SHRINKWRAP,LAYOUT_ShrinkWrap,b);}
  66.     void EvenSize(BOOL b = TRUE)
  67.       {setTag(CITGROUP_EVENSIZE,LAYOUT_EvenSize,b);}
  68.     void SpaceInner(BOOL b = TRUE)
  69.       {setTag(CITGROUP_SPACEINNER,LAYOUT_SpaceInner,b);}
  70.     void SpaceOuter(BOOL b = TRUE)
  71.       {setTag(CITGROUP_SPACEOUTER,LAYOUT_SpaceOuter,b);}
  72.     void InnerSpacing(ULONG spacing)
  73.       {setTag(CITGROUP_INNERSPACING,LAYOUT_InnerSpacing,spacing);}
  74.     void TopSpacing(ULONG spacing)
  75.       {setTag(CITGROUP_TOPSPACING,LAYOUT_TopSpacing,spacing);}
  76.     void BottomSpacing(ULONG spacing)
  77.       {setTag(CITGROUP_BOTTOMSPACING,LAYOUT_BottomSpacing,spacing);}
  78.     void LeftSpacing(ULONG spacing)
  79.       {setTag(CITGROUP_LEFTSPACING,LAYOUT_LeftSpacing,spacing);}
  80.     void RightSpacing(ULONG spacing)
  81.       {setTag(CITGROUP_RIGHTSPACING,LAYOUT_RightSpacing,spacing);}
  82.     void BevelStyle(ULONG style = 2) // 2 = BVS_GROUP
  83.       {setTag(CITGROUP_BEVELSTYLE,LAYOUT_BevelStyle,style);}
  84.     void BevelState(ULONG state)
  85.       {setTag(CITGROUP_BEVELSTATE,LAYOUT_BevelState,state);}
  86.     void BevelLabel(char* text,UWORD place = 0); // 0 = BVJ_TOP_CENTER
  87.     void TextPen(WORD pen)
  88.       {setTag(CITGROUP_TEXTPEN,LAYOUT_TextPen,pen);}
  89.     void FillPen(WORD pen)
  90.       {setTag(CITGROUP_FILLPEN,LAYOUT_FillPen,pen);}
  91.     void FillPattern(UWORD* pat)
  92.       {setTag(CITGROUP_FILLPATTERN,LAYOUT_FillPattern,ULONG(pat));}
  93.     void LabelColumn(ULONG column)
  94.       {setTag(CITGROUP_LABELCOLUMN,LAYOUT_LabelColumn,column);}
  95.     void LabelWidth(ULONG w)
  96.       {setTag(CITGROUP_LABELWIDTH,LAYOUT_LabelWidth,w);}
  97.        
  98.     virtual BOOL Attach(Object* child,TagItem* tag,WORD first=FALSE);
  99.     virtual void Detach(Object* child);
  100.     
  101.   protected:  
  102.     virtual BOOL Create(CITWindow* CITWd,CITContainer* parent);
  103.     virtual Object* NewObjectA(TagItem* tags);
  104.     
  105.     ULONG gOrientation;
  106.  
  107.   private:
  108.     void setTag(int index,ULONG attr,ULONG val);
  109.  
  110.     TagItem* groupTag;
  111. };
  112.  
  113. class CITHGroup:public CITGroup
  114. {
  115.   public:
  116.     CITHGroup() {gOrientation = 0;} // 0 = LAYOUT_HORIZONTAL
  117. };
  118.  
  119. typedef CITGroup CITVGroup;
  120.  
  121. enum
  122. {
  123.   GROUPCLASS_FLAGBITUSED = CONTAINERCLASS_FLAGBITUSED
  124. };
  125.  
  126. #endif
  127.